This application claims priority from Japanese Application No. 11-239173, filed on Aug. 26, 1999.
1. Field of the Invention
The present invention relates to distribution of software such as an application, a program, data, a file and an environment setter.
2. Background of the Invention
There have been proposed and actually implemented a variety of conventional methods for distributing software such as a program and a file to a controlled system. By merely distributing specified software, however, the software may not be usable in the controlled system. In accordance with a conventional technology to solve this problem, before distributing software, a condition is checked. The software is distributed automatically only if the condition is satisfied. Systems adopting this conventional technology are a software-resource distribution and management system disclosed in JP-A-4-175952 and a software automatic distribution and management system described in JP-A-10-301760. In JP-A-7-334436, there is disclosed a software automatic distribution system for distributing necessary software based on a distribution request list created from a dependence relation list of software transmitted from a distributor to a controlled system. There are also a method and an apparatus for installing a plurality of packages classified by package attribute as described in JP-A-10-83280. To be more specific, this method and this apparatus are used for installing only necessary packages selected from a mix of packages.
In the conventional systems, namely, the software-resource distribution and management system disclosed in JP-A-4-175952 and the software automatic distribution and management system described in JP-A-10-301760, if a condition for using software is not satisfied, the software is not distributed. Thus, distribution of unusable software can be avoided. However, there is raised a problem that software cannot be distributed unless the cause of the impossible distribution is removed. This is because whether or not the condition for using software is satisfied is checked automatically, and the distribution of the unusable software is prevented automatically as well.
As a method for solving a problem of inability to distribute software supposed to be distributed, in the software automatic distribution system disclosed in JP-A-7-334436, a dependence relation list provided for each piece of software is transmitted from a software distributor to a controlled system in accordance with a command making a request for software distribution of software made by the controlled system, and pieces of software already existing In the controlled system are eliminated from the list. Then, another request for software distribution of software is transmitted from the controlled system to the software distributor.
In this way, if the controlled system lacks necessary software, the software distributor is capable of automatically distributing the software.
In this conventional method, however, while software relevant to distributed software can be automatically distributed, software required by the relevant software is not taken Into consideration. So that, if a condition for using the relevant software is not satisfied, there will be raised a problem of inability to use the distributed software.
In other words, in the conventional technology, while the distributed software itself works normally, the technology does not consider a case in which third software exists. The third software operates provided that software relevant to the distributed software is distributed over the distributed software. In such a case, since the distributed software itself works normally, there is a problem of a difficulty to determine a cause of inoperative software already installed.
In addition, Japanese Patent Prepublication No. Hei10-83280 disclosing the method and the apparatus for installing a plurality of packages classified by package attribute also describes a method to check required software to be installed prior to installation of the software as a method to automatically install relevant software.
Thereby, the required software can be installed without omission.
In this conventional method, however, the required software is checked at the installation time for missing portions, Thus, the time necessary for checking the required software is added to a time for actual installation of the software to give a total installation time.
Most software being installed cannot be used once the installation is started till the installation is completed or till an OS is restarted.
In Japanese Patent Prepublication No. Hei10-83280, a method of supplying software is not described at all. If the software is assumed to be obtained by adopting an online technique at the checking time, the installation time will further increase. If it is assumed that all pieces of software, which will be very likely required, are supplied by using recording media or adopting an online technique in advance, the installation time can be prevented from increasing. In this case, however, software not actually required is also supplied. Thus, there is raised a problem of wasteful use of the recording medium or the transmission network serving as an online means.
It is thus an object of the present invention addressing the problems described above to simplify work done by a person in charge of operation management and the user of a controlled system to reduce the number of risks incurred at a software update time and to improve the efficiency of supplying software.
In order to automatically treat software required for using distributed software as an object to be distributed (also referred to hereafter as an object of distribution, an object for distribution or a distribution object), the present invention is provided with a management means for managing software serving as an object of distribution and software required for using the object of distribution by associating the former with the latter.
Examples of the software required for using the object of distribution are an operating system, a run-time library, a driver for making an access to a data base, software required for communication and an OLE protocol. That is to say, the software required for using the object of distribution is premise software of the object of distribution, software components used by the object of distribution or software for presenting the software components.
In addition, setting information and definition information required for execution of software are considered to be required software. Such information includes addresses of a data base to be connected and a directory server, a communication protocol and a proxy.
Required software is checked for each piece of distributed software so that necessary and sufficient software can be used as an object of distribution.
In addition, in order to prevent software already installed in a controlled system from being redistributed in a wasteful distribution of a duplicate of the software, a system for determining software to serve as an object of distribution is provided with a management means for managing already installed software by associating the already installed software with controlled systems. Software to serve as an object of distribution is not distributed if the software is already installed in a controlled system.
Furthermore, in order to prevent already installed software from becoming unusable, there is provided a management means for controlling already installed software and software affected by updating of the already installed software by associating the former with the latter. If software serving as an object of distribution updates the already installed software, other already installed software affected by the updating is checked to make sure that the condition for using software being used remains satisfied.
There is further provided a management means for controlling software usage priorities, which are each set when a distribution is requested, and already Installed software by associating the former with the latter. The usage priority level of software requested to be newly distributed is compared with the usage priority level of already installed software to determine whether the usage condition of the already installed software takes precedence, or the usage condition of the software requested to be newly distributed takes precedence, and to make a decision as to whether to cancel the distribution or to handle the software requested to be newly distributed as an object of distribution.
After the software, which is requested to be newly distributed and then determined to be an object of distribution, is distributed to a distribution target, processing to install the software is carried out.